package com.yeziji.dataCenter.business.record.service;

import com.mybatisflex.core.service.IService;
import com.yeziji.dataCenter.business.record.entity.DataCenterMaxIdRecordEntity;
import com.yeziji.dataCenter.constant.DataCenterMaxIdTypeEnum;

/**
 * 数据中心最大 id 记录表 服务层。
 *
 * @author system
 * @since 2024-10-26
 */
public interface DataCenterMaxIdRecordService extends IService<DataCenterMaxIdRecordEntity> {
    /**
     * 根据类型枚举获取最大值 id
     *
     * @param typeEnum 类型枚举
     * @return {@link Integer}
     */
    int getAsMaxIdByType(DataCenterMaxIdTypeEnum typeEnum);

    /**
     * 自增最大值 id
     *
     * @param typeEnum 类型枚举
     * @return {@link Boolean}
     */
    boolean increaseByType(DataCenterMaxIdTypeEnum typeEnum);

    /**
     * 自减最大值 id
     * @param typeEnum 类型灭据
     * @return {@link Boolean}
     */
    boolean decreaseByType(DataCenterMaxIdTypeEnum typeEnum);
}
